#ifndef INVOKER_H__
#define INVOKER_H__

//include header
#include "Command.h"

//using namespace


namespace npCommand
{
    //class forward declaration

    class Invoker // class inheritance
    {
        //friend
        
        //embedded type
        
        public: Invoker();
        public: virtual ~Invoker();
        public: Invoker(const Invoker& cpy);
        public: Invoker& operator=(const Invoker& asn);
        public: virtual Invoker* clone() const;

        //other constructors

        //public methods
        public: void setCommand(Command* command) throw();
        public: void executeCommand() throw();

        //protected methods

        //private methods

        //protected data

        //private data
        private: Command* command;

        //others
    };
} // namespace npCommand


#endif //INVOKER_H__
